
public class MyStackTest {
    public static void main(String[] args) {
        // 创建一个MyStack实例
        MyStack stack = new MyStack();


        // 1. 测试入栈操作
        System.out.println("\n开始入栈操作...");
        for (int i = 1; i <= 5; i++) {
            stack.push(i);
            System.out.println("入栈: " + i + " | 当前栈大小: " + stack.getUsedSize());
        }
        /*输出：
        开始入栈操作...
        入栈: 1 | 当前栈大小: 1
        入栈: 2 | 当前栈大小: 2
        入栈: 3 | 当前栈大小: 3
        入栈: 4 | 当前栈大小: 4
        入栈: 5 | 当前栈大小: 5*/

        // 2. 测试栈顶元素查看
        System.out.println("\n当前栈顶元素: " + stack.peek()); // 当前栈顶元素: 5

        // 3. 测试出栈操作
        System.out.println("\n开始出栈操作...");
        while (!stack.isEmpty()) {
            int val = stack.pop();
            System.out.println("出栈: " + val + " | 剩余栈大小: " + stack.getUsedSize());
        }
        /*输出：
        开始出栈操作...
        出栈: 5 | 剩余栈大小: 4
        出栈: 4 | 剩余栈大小: 3
        出栈: 3 | 剩余栈大小: 2
        出栈: 2 | 剩余栈大小: 1
        出栈: 1 | 剩余栈大小: 0
        */

        System.out.println("\n尝试从空栈弹出元素...");
        System.out.println("pop结果: " + stack.pop()); // -1
        System.out.println("peek结果: " + stack.peek()); // -1
    }
}